Data transmission protocol

ABSTRACT

A method of transmitting data from a transmitter towards a receiver, comprising the steps of: forming a plurality of ordered data units each comprising a part of a data message; transmitting at least some of the data units in order, identifying a discard status in respect of the data message; and if a subset of the data units including the final one of the data units and at least one other of the data units has not been transmitted: indicating that the data message is to be discarded and specifying the identity of the final one of the data units; and transmitting only the final one of the data units from the said subset.

[0001] This invention relates to a protocol for data transmission, forexample for transmission of data units over a radio link. The protocolis especially suitable for addressing issues surrounding deletion ofstatus protocol data units in third-generation (e.g. 3GPP or the like)radio telephone systems.

[0002] In the arrangement currently proposed for third-generation radiotelephone systems, for example the RLC (radio link control) ProtocolSpecification (Release 1999) data can be carried between a transmitterand a receiver in the form of protocol data units (PDUs). One form ofPDU is the status PDU (SDU). The SDU can carry information on the statusof the link, for example details of which PDUs have been received orwhich are detected as missing. Pieces making up an SDU may be carried ina number of AMD (RLC) PDUs.

[0003] SDUs may be transmitted by the network over a radio interface toan item of user equipment (UE) such as a mobile phone, or by a UE over aradio interface to the network.

[0004] A maximum permitted number of retransmissions (MaxDAT) may bespecified, as may a maximum permitted period of time for transmission(Timer_Discard). If an SDU has not been successfully conveyed from thetransmitter to the receiver within MaxDAT retransmissions or withinTimer_Discard period of time it may be discarded.

[0005] The discarding of an SDU is performed by means of the “movereceiving window super field” (MRW SUFI) command sent from the datatransmitter to the data receiver. The MWR SUFI command is send in STATUSPDU. The MRW SUFI command includes the following fields:

[0006] LENGTH. Specifies the number of SN_MRW fields in the MRW SUFI.

[0007] SN_MRW_(1-i). Provides a number i (equal to LENGTH −1) of fieldseach indicating the end of a discarded SDU. SN_MRW_(i) is the sequencenumber (SN) of the PDU that contains the LI (length indicator) of theith discarded SDU. The LI field is used to indicate the end point of anSDU in an AMD PDU.

[0008] SN_MRW_(LENGTH). Requests the receiver to discard all PDUs withsequence number less than SN_MRW_(LENGTH) and to move its receivingwindow accordingly. In addition, the receiver is to discard the firstN_(LENGTH) LIs and the corresponding data bytes in the PDU with sequencenumber SN_MRW_(LENGTH).

[0009] N_LENGTH. Assists in indicating the end of the last discarded SDUas described above. N_(LENGTH) indicates which LI in the PU withsequence number SN_MRW_(LENGTH) corresponds to the last discarded SDU.N_(LENGTH)=0 indicates that the last SDU ended in the PU with sequencenumber SN_MRW_(LENGTH)−1 and that the first data byte in the PU withsequence number SN_MRW_(LENGTH) is the first data byte to be reassemblednext

[0010] According to the RLC Protocol Specification (Release 1999),although an SDU may be discarded, all AMD PDUs carrying pieces of thatSDU are still sent over the radio interface. This means that valuablelink resources are devoted to carrying data that has already beendecided to be discarded. The worst case is when the size of the SDU tobe discarded is considerably large and the SDU discard procedure isexecuted in an early phase of transmission of the SDU. This could, forexample, happen if:

[0011] a. one of the first AMD PDUs for that SDU is lost; or

[0012] b. if the SDU transmission timer expires when only few AMD PDUshave been transmitted, for instance as a result of a long delay in theradio interface.

[0013] In that situation the remainder of the AMD PDUs making up thealready discarded SDU will still be transmitted, but merely waste radioresources because the transmitted data will never serve the user. Inaddition, this unnecessary data overhead may considerably slows down therate of transmission of useful data and hence degrades the quality ofservice.

[0014] When the triggering of the SDU discard procedure is based on thetimer set for the SDU transmission time (using the value Timer_Discard),the probability of the extra overhead and the consequent delays for thesubsequent SDU transmissions causing considerable losses of user dataand malfunction of the later data transmission procedure is particularlyhigh.

[0015] Once the discard of an SDU has been performed it would bedesirable to minimise or at least reduce the link resources subsequentlydevoted to that SDU. This could free up radio resources and increase thetransmission rate of useful data.

[0016] According to the present invention from one aspect there isprovided a method of transmitting data from a transmitter towards areceiver, comprising the steps of: forming a plurality of ordered dataunits each comprising a part of a data message; transmitting at leastsome of the data units in order; identifying a discard status in respectof the data message; and if a subset of the data units including thefinal one of the data units and at least one other of the data units hasnot been transmitted: indicating (for instance by means of a command)that the data message is to be discarded; and transmitting only thefinal one of the data units from the said subset, including anindication of the ending of the data message.

[0017] According to the present invention from another aspect there isprovided a transmitter for communicating data to a receiver, thetransmitted comprising a data transmission control unit operable toperform the steps of: forming a plurality of ordered data units eachcomprising a part of a data message; causing the transmission of atleast some of the data units in order; identifying a discard status inrespect of the data message; and if a subset of the data units includingthe final one of the data units and at least one other of the data unitshas not been transmitted: causing the transmission (for instance bymeans of a command) of an indication that the data message is to bediscarded; and causing the transmission of only the final one of thedata units from the said subset, including an indication of the endingof the data message.

[0018] Preferably, on identifying a discard status in respect of thedata message; and if a subset of the data units including the final oneof the data units and at least one other of the data units has not beentransmitted the data units of the subset other than the final one of thedata units are not transmitted from the transmitter towards thereceiver.

[0019] Suitably, the method comprises the step of allotting consecutivesequence numbers to each of the data units in order. Preferably themethod comprises the step of, before transmitting the final one of thedata units reallotting a sequence number to that data unit. Preferably,the sequence number reallotted to the final one of the data units is thesequence number one greater than the sequence number of the last dataunit transmitted. Alternatively, the sequence number reallotted to thefinal one of the data units may be a sequence number greater (mostpreferably two greater) than the sequence number of the last data unittransmitted. The method may comprise the steps of: allotting sequencenumbers to further data units to be transmitted after the said dataunits comprising part of the data massage; and before transmitting thosefurther data units realloting consecutive sequence numbers followingthat reallotted to the final one of the data units to the further dataunits.

[0020] The command indicating that the data message is to be discardedmay be transmitted before or after the final one of the data units,subject to other demands of the protocol.

[0021] The data units are suitably protocol data units, preferably radiolink control protocol data units.

[0022] The data message may be a status protocol data unit.

[0023] Preferably the method comprises specifying the identity of thefinal one of the data units.

[0024] The transmitter and/or the receiver are preferably operableaccording to the third-generation protocol specification or, suitably, aderivative thereof.

[0025] One of the transmitter and the receiver may be a mobile station.The other of the transmitter and the receiver may be a network unit.

[0026] Preferably the final one of the data units in order includes dataspecifying the length of the data message.

[0027] The present invention will now be described by way of examplewith reference to the accompanying drawings, in which:

[0028]FIG. 1 is a schematic diagram of a radio telecommunicationssystem;

[0029]FIG. 2 shows an illustrative structure of an SDU as carried by aplurality of PDUs; and

[0030] FIGS. 3 to 6 show alternative signaling arrangements for thetransmission of SDUs.

[0031] Like parts are indicated by like reference numerals in FIGS. 3 to6.

[0032]FIG. 1 shows a radio telecommunications system. The systemcomprises a radio telecommunications network 1 including a plurality ofbase station transmission/reception units 2 which are capable ofcommunicating by radio with user equipment 3. The user equipment could,for instance, be mobile stations such as mobile phones. By means of thenetwork the UEs can communicate with each other or with other equipmentsuch as land-line phone 4 or internet terminal 5 interconnected to thenetwork 1. The network includes network data transmission/receptioncontrol units 6 which control the transmission and reception of data toan from the UEs according to a predetermined protocol. Correspondingly,the UEs include UE data transmission/reception control units 7 whichcontrol the transmission and reception of data to an from the networkaccording to the predetermined protocol.

[0033] The protocol used for the transmission of data between the UEsand the network is suitably based on the RLC protocol, for exampleaccording to the RLC Protocol Specification (Release 1999) or the like.However, as described below, the present protocol includes provision forimproved handling of discarded SDUs.

[0034] Procedures will now be described for the handling of discardedSDUs. These procedures are especially suitable for operation in a systemsuch as that shown in FIG. 1, particularly for transmission of databetween the network and the UEs (in either direction). However, theprocedures may be implemented in other locations in the system of FIG. 1and in other data transmission systems, for example over fixed ratherthan radio links or over other wireless links such as infra-red links.

[0035] An SDU may be carried by a plurality of PDUs, with parts of theSDU being included in each of those PDUs. This situation is illustratedin FIG. 2. Each PDU has a sequence number. FIG. 2 illustrates a seriesof RLC PDUs having sequence numbers from x to y. Each of those PDUscarries part of a certain SDU. One of the PDUs carrying part of the SDUmay be specified by the sequence number (x+s), where s is an offset fromx in the range from 0 to (y−x). In this illustration x and y are notconsecutive numbers.

[0036] The series of PDUs is illustrated in FIG. 2 by line 10. PDU x isindicated at 11, PDU y at 12 and an arbitrary PDU (x+s) at 13.

[0037] During operation of the telecommunications system a decision maybe taken to discard an SDU, for example on one of the grounds set outabove: the exceeding of a predetermined number of retransmissions or theexceeding of a predetermined time period for transmission. When thedecision is taken to discard the SDU an SDU discard procedure istriggered.

[0038] After the SDU discard procedure is triggered the MRW SUFI command(see above) is sent to the receiver, with the next AMD PDU to be sent tothe receiver being the one pointed to in the MRW SUFI command by itsfield SN_MRW_(LENGTH). This will be either the AMD PDU carrying the LIfield of the discarded SDU or, in the case where the rest of the AMD PDUcarrying the LI field of the discarded SDU is padding, the AMD PDUimmediately following it. No further data transmission actions,including sending, resending or triggering the SDU discard procedure,are executed for those AMD PDUs preceding that defined below and pointedto by the SN_MRW_(LENGTH) field of the MRW SUFI command. For those RLCPDUs, whose RLC PDU number is <MRW_(LENGTH) nothing is done. For thosewhose sequence number is >=MRW_(LENGTH), they can be resent, if thetransceiver so requests. However, those AMD PDUs are not be removed fromthe transmitter's buffer of data to be transmitted until that MRW SUFIcommand has been acknowledged by the receiver (suitably by means of theMRW_ACK SUFI command) and the lower edge of the window of acceptableacknowledgements is updated.

[0039] The sending of the MRW SUFI command and the correspondingspecifying to the receiver AMD PDU can be done in four alternative ways,illustrated by FIGS. 3 to 6 respectively. In each of FIGS. 3 to 6,reference 20 denotes the transmitting unit, reference 21 denotes thereceiving unit, reference 22 denotes the command to discard an SDU andreference 23 denotes generally data traffic from the transmitter to thereceiver. The data traffic and the SDU discard command are shown inchronological order, starting from the top of each figure.

[0040] In each embodiment it is assumed that the SDU is carried by aplurality of PDUs as illustrated in FIG. 2 and that PDUs with sequencenumbers x to (x+s) are sent from the transmitter to the receiver asshown at 24 before the discard command 23 is received.

[0041] The first method is illustrated in FIG. 3.

[0042] In the first method, first the MRW SUFI command (25) is sent fromthe transmitter to the receiver. After that the AMD PDU (26) carryingthe LI field indicating the end of the discarded SDU is sent using theSN currently allotted to it, i.e. the PDU whose sequence number is y.This does not affect the transmission of consequential AMD. PDUs, whichcontinues as usual (in-sequence, also noting the previous sendings,resendings and acknowledgements) from this point on. However, any PDUsin the range from (x+s) to y which would otherwise be sent need not nowbe transmitted. Once the MRW SUFI command has been acknowledged thosePDUs can be deleted from the transmitting unit's buffer. The AMD PDU 26is preferably sent immediately after the MRW SUFI command 25.

[0043] The second method is illustrated in FIG. 4.

[0044] In the second method, first the AMD PDU (27) carrying the LIfield indicating the end of the discarded SDU is sent using the SNcurrently allotted to it. After that the MRW SUFI command (28) is sent.This does not affect the transmission of consequential AMD PDUs, whichcontinues as usual (in-sequence, also noting the previous sendings,resendings and acknowledgements) from this point on. The MRW SUFIcommand 27 is preferably sent immediately after the AMD PDU 28. Again,any PDUs in the range from (x+s) to y which would otherwise be sent neednot now be transmitted. Once the MRW SUFI command has been acknowledgedthose PDUs can be deleted from the transmitting unit's buffer.

[0045] In methods 1 and 2 there is a break in the sequence numbers ofthe PDUs that are transmitted. Some sequence numbers are allotted toPDUs that are not transmitted. Thus the sequence of sequence numbers asreceived by the receiver is not consecutive. It is conceivable thatthere may be a desire to avoid this situation. This is addressed bymethods 3 and 4.

[0046] The third method is illustrated in FIG. 5.

[0047] In the third method, the PDUs making up the discarded SDU areagain not transmitted. The sequence numbers previously allotted to thosePDUs are allotted to subsequent PDUs. Thus revised sequence numbers aregenerated for the AMD PDUs in the transmission buffer so as to utilisethe sequence numbers of the non-transmitted PDUs. The AMD PDU carryingthe LI field indicating the end of the discarded SDU is given the SN ofthe second non-transmitted AMD PDU. That SN value is given by VT(S)+1;where VT(S) is the current value of the send state variable of thetransmitter, which stores the sequence number of the next PDU to betransmitted for the first time. The subsequent AMD PDUs in thetransmitter's buffer are renumbered in-sequence starting from thisvalue. Note that due, for instance, to ciphering issues the renumberedAMD PDUs will not have been sent yet.

[0048] The MRW SUFI command (29) and the AMD PDU (30) whose the LI fieldindicates the end of the discarded SDU are sent from the transmitter tothe receiver. In FIG. 5 the MRW SUFI command 30 is shown as being sentfirst, but since the AMD PDU 29 has been given the SN corresponding tothe second non-transmitted AMD PDU the MRW SUFI command 30 and the AMDPDU 29 may be sent in either order. This is because if the RLC PDU SNwere (x+s)+1 then the receiver RLC would forward this incorrect SDU tothe PDCP layer, because no MRW SUFI command regarding this SDU wouldhave been received by then.

[0049] The fourth method is illustrated in FIG. 6.

[0050] In the fourth method, the PDUs making up the discarded SDU areagain not transmitted. The sequence numbers previously allotted to thosePDUs are allotted to subsequent PDUs. Thus revised sequence numbers aregenerated for the AMD PDUs in the transmission buffer so as to utilisethe sequence numbers of the non-transmitted PDUs. The AMD PDU carryingthe LI field indicating the end of the discarded SDU is given the SN ofthe first non-transmitted AMD PDU. That SN is given by the current valueof the state variable VT(S). The subsequent AMD PDUs in thetransmitter's buffer are renumbered in-sequence starting from thisvalue.

[0051] The MRW SUFI command (31) and the AMD PDU (32) whose the LI fieldindicates the end of the discarded SDU are sent from the transmitter tothe receiver. In FIG. 6, since the AMD PDU 32 has been given the SNcorresponding to the first non-transmitted AMD PDU the MRW SUFI command31 must be sent before the AMD PDU 32.

[0052] The method of FIG. 6 can not be considered as reliable as that ofFIG. 5. In the method of FIG. 6 an error situation may occur if the MRWSUFI command is lost in the radio interface. Then if the following AMDPDU containing the LI field of the discarded SDU is sent before theacknowledgement to the MRW SUFI command has been received, the receivermay consider the SDU to be complete and deliver it to PDCP forsubsequent processing. This kind of error could be prevented by blockingthe transmission of all new AMD PDUs in the transmission buffer untilthe MRW SUFI command has been acknowledged. Alternatively it may beconvenient to block the transmission of all AMD PDUs (and thus savefurther radio resources) because, according to the recent RLCspecification, executing the SDU discard procedure for a certain SDUcauses preceding unacknowledged SDUs to be discarded as well.

[0053] In all of these cases the lower edge of the window of acceptableacknowledgements i.e. the value of the state variable VT(A) at thetransmitter, indicating the sequence number of the next in-sequence PDUexpected to be acknowledged—is updated only after receiving theacknowledgement to the MRW SUFI command. This is similar to thesituation as currently defined in the recent RLC specification. This waythe SDU discard procedure and the sending of the MRW SUFI command doesnot implicitly acknowledge AMD PDUs, which could easily lead to the“run-away” of the sending window and finally to non-synchronized datatransmission.

[0054] Following the procedures illustrated in FIGS. 3 to 6, andparticularly subsequent to the sending of the first MRW SUFI command asshown, the execution of the SDU discard procedure continues as describedin the RLC specification.

[0055] The procedures set out with reference to FIGS. 3 to 6 offersignificant savings in radio resources over prior methods, especially insituations where discard of SDUs is frequent, and even more especiallywhen discard of long SDUs may be executed shortly after the SDUs havestarted to be transmitted. Such circumstances may arise when there arelong transmission delays and/or high numbers of lost AMD PDUs.Furthermore, the approaches described above allow the possibility ofimproving quality of service, by making SDU delays shorter and loweringthe number of lost SDUs; making the protocol less sensitive to errorsdue to lost or delayed AMD PDUs; and improving the protocol's ability torecover from error situations.

[0056] When PDUs of a data message (SDU) have been discarded, thetransmission of that data message may be ended by the transmission of afinal data unit of the set of data units representing that message. Thatfinal data unit can include a length indicator (LI) pointing to thestart of the transmitted data of the message, whereby it can bedetermined at the receiver that transmission of the message has ended.

[0057] The applicant draws attention to the fact that the presentinvention may include any feature or combination of features disclosedherein either implicitly or explicitly or any generalisation thereof,without limitation to the scope of any of the present claims. In view ofthe foregoing description it will be evident to a person skilled in theart that various modifications may be made within the scope of theinvention.

1. A method of transmitting data from a transmitter towards a receiver,comprising the steps of: forming a plurality of ordered data units eachcomprising a part of a data message, transmitting at least some of thedata units in order; identifying a discard status in respect of the datamessage; and if a subset of the data units including the final one ofthe data units and at least one other of the data units has not beentransmitted: indicating that the data message is to be discarded; andtransmitting only the final one of the data units from the said subset,including an indication of the ending of the data message.
 2. A methodas claimed in claim 1, wherein the indication of the ending of the datamessage is an indication specifying the location of the start of thedata message.
 3. A method as claimed in claim 1 or 2, wherein onidentifying a discard status in respect of the data message; and if asubset of the data units including the final one of the data units andat least one other of the data units has not been transmitted the dataunits of the subset other than the final one of the data units are nottransmitted from the transmitter towards the receiver.
 4. A method asclaimed in any preceding claim, comprising the step of allottingconsecutive sequence numbers to each of the data units in order.
 5. Amethod as claimed in claim 4, comprising the step of, beforetransmitting the final one of the data units reallotting a sequencenumber to that data unit.
 6. A method as claimed in claim 5, wherein thesequence number reallotted to the final one of the data units is thesequence number one greater than the sequence number of the last dataunit transmitted.
 7. A method as claimed in claim 5, wherein thesequence number reallotted to the final one of the data units is thesequence number two greater than the sequence number of the last dataunit transmitted.
 8. A method as claimed in any of claims 5 to 7,comprising the steps of: allotting sequence numbers to further dataunits to be transmitted after the said data units comprising part of thedata massage; and before transmitting those further data unitsrealloting consecutive sequence numbers following that reallotted to thefinal one of the data units to the further data units.
 9. A method asclaimed in any preceding claim, wherein the indication that the datamessage is to be discarded is transmitted after the final one of thedata units.
 10. A method as claimed in any of claims 1 to 5, claim 7 orclaim 8 as dependant directly on claim 5 or 7 wherein the final one ofthe data units is transmitted after the indication that the data messageis to be discarded.
 11. A method as claimed in any preceding claim,wherein the data units are protocol data units.
 12. A method as claimedin claim 11, wherein the protocol data units are radio link controlprotocol data units.
 13. A method as claimed in any preceding claim,wherein the data message is a status protocol data unit.
 14. A method asclaimed in any preceding claim, wherein the transmitter and the receiverare operable according to the third-generation protocol specification ora derivative thereof.
 15. A method as claimed in any preceding claim,wherein one of the transmitter and the receiver is a mobile station. 16.A method as claimed in claim 15, wherein the other of the transmitterand the receiver is a network unit.
 17. A method as claimed in anypreceding claim, wherein the said steps for transmitting comprisetransmitting by a wireless link.
 18. A method as claimed in claim 17,wherein the said steps for transmitting comprise transmitting by radio.19. A method as claimed in any preceding claim, wherein the final one ofthe data units in order includes data specifying the length of the datamessage.
 20. A method as claimed in any preceding claim, wherein thedata is transmitted in an acknowledged mode.
 21. A method as claimed inany preceding claim, wherein the data is transmitted in anunacknowledged mode.
 22. A method substantially as herein described withreference to the accompanying drawings.
 23. Apparatus adapted forperforming a method according to any preceding claim.
 24. A transmitterfor communicating data to a receiver, the transmitted comprising a datatransmission control unit operable to perform the steps of: forming aplurality of ordered data units each comprising a part of a datamessage; causing the transmission of at least some of the data units inorder; identifying a discard status in respect of the data message; andif a subset of the data units including the final one of the data unitsand at least one other of the data units has not been transmitted:causing the transmission of an indication that the data message is to bediscarded; and causing the transmission of only the final one of thedata units from the said subset, including an indication of the endingof the data message.